﻿using Newtonsoft.Json;

namespace ZZDingTalkSDK.ZZDingTalkResponse
{
    public class YidaProcessGetInstanceByIdJsonResponse<T>
    {
        /// <summary>
        /// 流程表单数据
        /// </summary>
        public T Data { get; set; }

        /// <summary>
        /// 实例Code
        /// </summary>
        public string ProcessCode { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 表单Code
        /// </summary>
        public string FormUuid { get; set; }

        /// <summary>
        /// 流程Code
        /// </summary>
        public string ProcessInstanceId { get; set; }

        /// <summary>
        /// 流程实例状态
        /// </summary>
        public string InstanceStatus { get; set; }

        /// <summary>
        /// 审批结果
        /// </summary>
        public string ApprovedResult { get; set; }

        /// <summary>
        /// 发起人Id
        /// </summary>
        public YidaOriginator Originator { get; set; }
    }

    public class YidaOriginator
    {
        /// <summary>
        /// 发起人姓名
        /// </summary>
        public YidaOriginatorUser Name { get; set; }

        /// <summary>
        /// 发起人工号
        /// </summary>
        public string UserId { get; set; }
    }

    public class YidaOriginatorUser
    {
        /// <summary>
        /// 发起人姓名（中文）
        /// </summary>
        [JsonProperty("zh_CN")]
        public string NameCH { get; set; }

        /// <summary>
        /// 发起人姓名（英文）
        /// </summary>
        [JsonProperty("en_US")]
        public string NameEN { get; set; }
    }
}